package com.ys.io.p1字符输入输出流;

import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

/**
 * 描述:
 * 字符流只能读写文本，操作的是char，一个char等于两个bytes
 *
 * 字符流有两个父类
 *
 * Reader：字符输入流，同时也是一个抽象类。它是所有字符输入流的父类。读者(阅读区)
 *
 * 它有如下的子类：
 *
 * BufferedReader：基于缓冲区的读者
 *
 * InputStreamReader：在字节流和字符流之间做转换的流，连接字节流和字符流的一个桥梁，可以指定编码方式读取数据。
 *
 * 注意：InputStreamReader有一个子类叫做FileReader它是一个基于磁盘文件的字符输入流，专门用来读取文本文件的
 *
 * CharArrayReader：字符数组读者
 *
 * PipedReader：管道读者
 *
 * StringReader：字符串读者
 *
 * FilterReader：带有过滤器的读者
 *
 * 重点：前两个读者
 *
 * Writer：字符输出流，同时也是一个抽象类。它是所有字符输出流的父类。 写者(写入器)
 *
 * 它有如下子类：
 *
 * BufferedWriter: 带有缓冲区的写者
 *
 * OutputStreamWriter：在字节流和字符流之间做转换的输出流，是字节流和字符流之间的桥梁
 *
 * 注意：OutputStreamWriter有一个子类FileWriter，是一个基于字符的文件输出流，用于在磁盘中对文本文件做写操作。
 *
 * PrintWriter：打印写者，能够写入数据同时具备换行的行为
 *
 * CharArrayWriter：字节数组的写者
 *
 * PipedWriter： 管道写者
 *
 * FilterWriter： 带有过滤器的写者
 *
 * StringWriter：字符串的写者
 *
 * 重点：前两个是重点，后面的工作中用的极少
 *
 * 字符流读写效率比字节流高，字节流用途比字符流广，除了可以读写文本还可以读写其他类型文件，例如：音频、视频、图片等等。
 *
 */
public class 字符流的了解 {

    public static void main(String[] args) {
        // 字符读者
        Reader reader;
        // 字符写者
        Writer writer;

        // 字符流只能操作 文本文件,因为其底层是 操作char[] 的数组


    }
}
